package com.yulinlin.core.wrapper;

public interface IColumnWrapper<E> extends IEndWrapper<E> ,ISqlWrapper{

    IColumnWrapper<E> clear(String columnName);

    /**
     * 使用列明作值
     * @param columnName
     * @return
     */
    IColumnWrapper<E> column(String columnName);

    /**
     * 别名转换列
     * @param asName
     * @return
     */
    IColumnWrapper<E> asName(String asName);

    //列
    IColumnWrapper<E> columnAsName(String columnName,String asName);

    //总数
    IColumnWrapper<E> count(String columnName,String asName);

    //和
    IColumnWrapper<E> sum(String columnName,String asName);

    //平均
    IColumnWrapper<E> avg(String columnName,String asName);

    //最小值
    IColumnWrapper<E> min(String columnName,String asName);

    //最大值
    IColumnWrapper<E> max(String columnName,String asName);

    //日期格式化到时
    IColumnWrapper<E> hour(String columnName,String asName);

    //日期格式化到天
    IColumnWrapper<E> day(String columnName,String asName);


    //日期格式化到月
    IColumnWrapper<E> month(String columnName,String asName);


    //日期格式化到年
    IColumnWrapper<E> year(String columnName,String asName);

    //调用某函数格式化
    IColumnWrapper<E> function(String func,String columnName,String asName);




}
